#1. src、inc、obj的绝对路径
SRCDIR = $(shell pwd)/src#这后面不能有空格
INCDIR = $(shell pwd)/inc#这后面不能有空格
OBJDIR = $(shell pwd)/obj#这后面不能有空格
#2. .c文件路径、.o文件路径
SRC = $(wildcard $(SRCDIR)/*.c)
OBJ = $(patsubst %.c,$(OBJDIR)/%.o,$(notdir $(SRC)))
#3. 编译相关设置
CC = gcc
CFLAGS = -c -g -Wall -I $(INCDIR)
 
#4.设置全局变量
export OBJ OBJDIR CC CFLAGS 
 
#5. 开始编译 思路为：调用src中的makefile生成.o文件，再用.o生成a.out
all:debug $(SRCDIR) echo a.out
debug:
	@echo "src dir = $(SRCDIR)"
	@echo "inc dir = $(INCDIR)"
	@echo "obj dir = $(OBJDIR)"
	@echo "$(SRCDIR)/*.c"
	@echo "src = $(SRC)"
	@echo "obj = $(OBJ)"
#5.1 调用src中的makefile
$(SRCDIR):echo
	make -C $@
echo:
	@echo "start make"
#5.2 用.o生成a.out
a.out:$(OBJ)
	$(CC) $^ -o $@